home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1984-04-24 | 19.6 KB | 502 lines |
- 10 ' TCLOCK.BAS
- 1000 ' -----------------------------------------------------------------------
- 1010 ' PROGRAM NAME = TCLOCK
- 1020 ' FUNCTION = DATE AND TIME DISPLAY ON MONOCHROME
- 1030 ' -----------------------------------------------------------------------
- 1040 ' AUTHOR = WILLIAM T. VATH
- 1050 ' -----------------------------------------------------------------------
- 1060 '
- 1070 ' To See Instruction Menu, Type Character ?.(INSTRUCTIONS)
- 1080 '
- 1090 ' To Set Alarm Type Character A.(ALARM)
- 1100 '
- 1110 ' To Switch From 12 Hour To 24 Hour Display, Type Character M.(MODE)
- 1120 '
- 1130 ' To Turn Time Change Beep On Or Off, Type Character B.(BEEP)
- 1140 '
- 1150 ' To Turn Chimes On Or Off, Type Character C.(CHIME)
- 1160 '
- 1170 ' To Set Date & Time, Type Character S.(SET)
- 1180 '
- 1190 ' To Cancel The Program And Return To Caller, Hit The ESC Key.
- 1200 '
- 1210 ' -----------------------------------------------------------------------
- 1220 '
- 1230 DEFINT A-Z:DIM ALARM$(6),ALDESC$(6):AL$=" : ":DES$=STRING$(50,32)
- 1240 DEF SEG=&H40:POKE &H17,64
- 1250 FOR I=1 TO 6:ALARM$(I)=AL$:ALDESC$(I)=DES$:NEXT
- 1260 KEY OFF:WIDTH 80:COLOR 7,0:CLS
- 1270 D1SAVE=99:D2SAVE=99:D3SAVE=99:D4SAVE=99:TLSAVE=99:TR1SAVE=99:TR2SAVE=99
- 1280 SW1$="1":SW2$="0":BP1$="1":BP2$="0":CH1$="0":CH2$="1":AL1$="0"
- 1290 ET1$="0":ET2$="1"
- 1300 ' -----------------------------------------------------------------------
- 1310 ' PRINT BIG BOX
- 1320 ' -----------------------------------------------------------------------
- 1330 '
- 1340 CLS:LOCATE 1,1,0:COLOR 7,0:PRINT CHR$(201)+STRING$(77,205)+CHR$(187);
- 1350 FOR I=2 TO 24
- 1360 LOCATE I,1:PRINT CHR$(186);:LOCATE I,79:PRINT CHR$(186);
- 1370 NEXT
- 1380 LOCATE 25,1:PRINT CHR$(200)+STRING$(77,205)+CHR$(188);
- 1390 ' -----------------------------------------------------------------------
- 1400 ' PRINT CENTER LINE
- 1410 ' -----------------------------------------------------------------------
- 1420 '
- 1430 LOCATE 13,1:COLOR 7,0:PRINT CHR$(204)+STRING$(77,205)+CHR$(185);
- 1440 ' -----------------------------------------------------------------------
- 1450 ' PRINT DATE BOX
- 1460 ' -----------------------------------------------------------------------
- 1470 '
- 1480 LOCATE 6,2:COLOR 7,0:PRINT CHR$(201)+STRING$(4,205)+CHR$(187);
- 1490 LOCATE 7,2:PRINT CHR$(186)+STRING$(4,32)+CHR$(186);
- 1500 LOCATE 8,2:PRINT CHR$(200)+STRING$(4,205)+CHR$(188);
- 1510 LOCATE 7,3:PRINT "DATE";
- 1520 ' -----------------------------------------------------------------------
- 1530 ' PRINT DATE DASH
- 1540 ' -----------------------------------------------------------------------
- 1550 '
- 1560 LOCATE 7,36:COLOR 0,7:PRINT STRING$(4,32)
- 1570 ' -----------------------------------------------------------------------
- 1580 ' PRINT yEAR BOX
- 1590 ' -----------------------------------------------------------------------
- 1600 '
- 1610 LOCATE 9,72:COLOR 7,0:PRINT CHR$(201)+CHR$(205)+CHR$(205)+CHR$(187);
- 1620 LOCATE 10,72:PRINT CHR$(186)+CHR$(32)+CHR$(32)+CHR$(186);
- 1630 LOCATE 11,72:PRINT CHR$(200)+CHR$(205)+CHR$(205)+CHR$(188);
- 1640 ' -----------------------------------------------------------------------
- 1650 ' PRINT TIME BOX
- 1660 ' -----------------------------------------------------------------------
- 1670 '
- 1680 LOCATE 18,2:COLOR 7,0:PRINT CHR$(201)+STRING$(4,205)+CHR$(187);
- 1690 LOCATE 19,2:PRINT CHR$(186)+STRING$(4,32)+CHR$(186);
- 1700 LOCATE 20,2:PRINT CHR$(200)+STRING$(4,205)+CHR$(188);
- 1710 LOCATE 19,3:PRINT "TIME";
- 1720 ' -----------------------------------------------------------------------
- 1730 ' PRINT TIME COLON
- 1740 ' -----------------------------------------------------------------------
- 1750 '
- 1760 LOCATE 17,37:COLOR 0,7:PRINT SPACE$(2):LOCATE 21,37:PRINT SPACE$(2)
- 1770 ' -----------------------------------------------------------------------
- 1780 ' PRINT SECONDS BOX
- 1790 ' -----------------------------------------------------------------------
- 1800 '
- 1810 LOCATE 21,72:COLOR 7,0:PRINT CHR$(201)+CHR$(205)+CHR$(205)+CHR$(187);
- 1820 LOCATE 22,72:PRINT CHR$(186)+CHR$(32)+CHR$(32)+CHR$(186);
- 1830 LOCATE 23,72:PRINT CHR$(200)+CHR$(205)+CHR$(205)+CHR$(188);
- 1840 ' -----------------------------------------------------------------------
- 1850 ' GET DATE
- 1860 ' -----------------------------------------------------------------------
- 1870 '
- 1880 D$=DATE$
- 1890 D1$=LEFT$(D$,1):D2$=MID$(D$,2,1):D3$=MID$(D$,4,1):D4$=MID$(D$,5,1)
- 1900 D1=VAL(D1$):D2=VAL(D2$):D3=VAL(D3$):D4=VAL(D4$):YR$=RIGHT$(D$,2)
- 1910 LOCATE 10,73:COLOR 7,0:PRINT YR$;
- 1920 ' -----------------------------------------------------------------------
- 1930 ' GET TIME
- 1940 ' -----------------------------------------------------------------------
- 1950 '
- 1960 T$=TIME$:TL$=LEFT$(T$,2)
- 1970 TR$=MID$(T$,4,2):TR1$=MID$(T$,4,1):TR2$=MID$(T$,5,1)
- 1980 TL=VAL(TL$):TR=VAL(TR$):TR1=VAL(TR1$):TR2=VAL(TR2$)
- 1990 IF SW1$="1" THEN 2000 ELSE 2050
- 2000 IF TL>11 AND TR>0 THEN LOCATE 15,72:COLOR 1,0:PRINT"P M":GOTO 2020
- 2010 LOCATE 15,72:COLOR 1,0:PRINT "A M";
- 2020 '
- 2030 IF TL>12 THEN TL=TL-12
- 2050 '
- 2060 IF SW1$="0" THEN LOCATE 15,72:COLOR 1,0:PRINT "MIL";
- 2070 SEC$=RIGHT$(T$,2):LOCATE 22,73:COLOR 7,0:PRINT SEC$;:COLOR 0,7
- 2080 LOCATE 24,2:COLOR 7,0:IF CH1$="1" THEN PRINT CHR$(14); ELSE PRINT" ";
- 2090 LOCATE 24,78:COLOR 7,0:IF BP1$="1" THEN PRINT CHR$(46); ELSE PRINT" ";
- 2100 ' -----------------------------------------------------------------------
- 2110 ' CHECK ALARM TIMES
- 2120 ' -----------------------------------------------------------------------
- 2130 '
- 2140 AL1$="0"
- 2150 TALARM$=LEFT$(T$,5)
- 2160 FOR I=1 TO 6
- 2170 IF ALARM$(I)=" : " OR ALARM$(I)=" :" THEN 2180 ELSE AL1$="1"
- 2180 IF TALARM$=ALARM$(I) THEN GOTO 5610
- 2190 NEXT
- 2200 IF AL1$="1" THEN LOCATE 2,2:PRINT CHR$(64);
- 2210 ' -----------------------------------------------------------------------
- 2220 ' CHECK RESPONSE IF ANY
- 2230 ' -----------------------------------------------------------------------
- 2240 '
- 2250 RESP$=INKEY$
- 2260 IF RESP$=CHR$(27) THEN 6000
- 2270 IF RESP$="M" THEN SWAP SW1$,SW2$
- 2280 IF SW1$="0" THEN CH1$="0":CH2$="1"
- 2290 IF RESP$="B" THEN SWAP BP1$,BP2$
- 2300 IF RESP$="E" THEN SWAP ET1$,ET2$
- 2310 IF ET1$="1" THEN CH1$="0":CH2$="1":BP1$="0":BP2$="1"
- 2320 IF RESP$="C" THEN SWAP CH1$,CH2$
- 2330 IF CH1$="1" THEN BP1$="0":BP2$="1":SW1$="1":SW2$="0":ET1$="0":ET2$="1"
- 2340 IF RESP$="R" THEN CNT1=0:CNT2=0:CNT3=0
- 2350 IF RESP$="S" THEN GOTO 4620
- 2360 IF RESP$="A" THEN GOTO 4810
- 2370 IF RESP$="?" THEN GOTO 5750
- 2380 ' -----------------------------------------------------------------------
- 2390 ' DISPLAY DATE DIGIT 1
- 2400 ' -----------------------------------------------------------------------
- 2410 '
- 2420 A=3
- 2430 IF D1=D1SAVE THEN 2520
- 2440 B=10
- 2450 IF D1=0 THEN 2480
- 2460 GOSUB 4180
- 2470 ON D1 GOSUB 3460,3520,3590,3650,3730,3790,3860,3920,4010
- 2480 D1SAVE=D1
- 2490 ' -----------------------------------------------------------------------
- 2500 ' DISPLAY DATE DIGIT 2
- 2510 ' -----------------------------------------------------------------------
- 2520 '
- 2530 IF D2=D2SAVE THEN 2620
- 2540 B=25
- 2550 GOSUB 4180
- 2560 IF D2=0 THEN GOSUB 4080
- 2570 ON D2 GOSUB 3460,3520,3590,3650,3730,3790,3860,3920,4010
- 2580 D2SAVE=D2
- 2590 ' -----------------------------------------------------------------------
- 2600 ' DISPLAY DATE DIGIT 3
- 2610 ' -----------------------------------------------------------------------
- 2620 '
- 2630 IF D3=D3SAVE THEN 2720
- 2640 B=42
- 2650 GOSUB 4180
- 2660 IF D3=0 THEN GOSUB 4080
- 2670 ON D3 GOSUB 3460,3520,3590,3650,3730,3790,3860,3920,4010
- 2680 D3SAVE=D3
- 2690 ' -----------------------------------------------------------------------
- 2700 ' DISPLAY DATE DIGIT 4
- 2710 ' -----------------------------------------------------------------------
- 2720 '
- 2730 IF D4=D4SAVE THEN 2820
- 2740 B=57
- 2750 GOSUB 4180
- 2760 IF D4=0 THEN GOSUB 4080
- 2770 ON D4 GOSUB 3460,3520,3590,3650,3730,3790,3860,3920,4010
- 2780 D4SAVE=D4
- 2790 ' -----------------------------------------------------------------------
- 2800 ' DISPLAY TIME DIGIT 1
- 2810 ' -----------------------------------------------------------------------
- 2820 '
- 2830 A=15
- 2840 IF TL=TLSAVE THEN 3030
- 2850 IF BP1$="1" THEN 2860 ELSE 2870
- 2860 SOUND 3000,2
- 2870 B=10
- 2880 GOSUB 4180
- 2890 IF TL=0 THEN GOTO 2940
- 2900 ON TL GOSUB 2940,2940,2940,2940,2940,2940,2940,2940,2940,3460,3460,3460,3460,3460,3460,3460,3460,3460,3460,3520,3520,3520,3520,3520
- 2910 ' -----------------------------------------------------------------------
- 2920 ' DISPLAY TIME DIGIT 2
- 2930 ' -----------------------------------------------------------------------
- 2940 '
- 2950 B=25
- 2960 GOSUB 4180
- 2970 IF TL=0 THEN GOSUB 4080
- 2980 ON TL GOSUB 3460,3520,3590,3650,3730,3790,3860,3920,4010,4080,3460,3520,3590,3650,3730,3790,3860,3920,4010,4080,3460,3520,3590,3650
- 2990 TLSAVE=TL
- 3000 ' -----------------------------------------------------------------------
- 3010 ' DISPLAY TIME DIGIT 3
- 3020 ' -----------------------------------------------------------------------
- 3030 '
- 3040 IF TR1=TR1SAVE THEN 3130
- 3050 B=42
- 3060 GOSUB 4180
- 3070 IF TR1=0 THEN GOSUB 4080
- 3080 ON TR1 GOSUB 3460,3520,3590,3650,3730,3790,3860,3920,4010
- 3090 TR1SAVE=TR1
- 3100 ' -----------------------------------------------------------------------
- 3110 ' DISPLAY ELAPSED TIME
- 3120 ' -----------------------------------------------------------------------
- 3130 '
- 3140 IF ET1$="0" THEN 3210
- 3150 '
- 3160 IF SEC$=SECHOLD$ THEN 3210
- 3170 CNT3=CNT3+1
- 3180 IF CNT3>=60 THEN CNT2=CNT2+1:CNT3=0
- 3190 IF CNT2>=60 THEN CNT1=CNT1+1:CNT2=0
- 3200 SECHOLD$=SEC$
- 3210 '
- 3220 IF CNT1+CNT2+CNT3=0 THEN LOCATE 2,71:COLOR 7,0:PRINT SPACE$(8):GOTO 3270
- 3230 LOCATE 2,71:COLOR 7,0:PRINT USING"##";CNT1;
- 3240 LOCATE 2,73:PRINT USING":##";CNT2;
- 3250 LOCATE 2,76:PRINT USING":##";CNT3;
- 3260 ' -----------------------------------------------------------------------
- 3270 ' DISPLAY TIME DIGIT 4
- 3280 ' -----------------------------------------------------------------------
- 3290 '
- 3300 IF TR2=TR2SAVE THEN 1850
- 3310 IF BP1$="1" THEN 3320 ELSE 3330
- 3320 SOUND 4000,1
- 3330 B=57
- 3340 GOSUB 4180
- 3350 IF TR2=0 THEN GOSUB 4080
- 3360 ON TR2 GOSUB 3460,3520,3590,3650,3730,3790,3860,3920,4010
- 3370 TR2SAVE=TR2
- 3380 IF CH1$="1" AND TR$="15" THEN GOSUB 4270
- 3390 IF CH1$="1" AND TR$="30" THEN GOSUB 4330
- 3400 IF CH1$="1" AND TR$="45" THEN GOSUB 4400
- 3410 IF CH1$="1" AND TR$="00" THEN GOSUB 4490
- 3420 GOTO 1850
- 3430 ' -----------------------------------------------------------------------
- 3440 ' DIGIT SUBROUTINES
- 3450 ' -----------------------------------------------------------------------
- 3460 ' 1
- 3470 LOCATE A+0,B+4:PRINT SPACE$(2);:LOCATE A+1,B+4:PRINT SPACE$(2);
- 3480 LOCATE A+2,B+4:PRINT SPACE$(2);:LOCATE A+3,B+4:PRINT SPACE$(2);
- 3490 LOCATE A+4,B+4:PRINT SPACE$(2);:LOCATE A+5,B+4:PRINT SPACE$(2);
- 3500 LOCATE A+6,B+4:PRINT SPACE$(2);:LOCATE A+7,B+4:PRINT SPACE$(2);
- 3510 LOCATE A+8,B+4:PRINT SPACE$(2);:RETURN
- 3520 ' 2
- 3530 LOCATE A+0,B+0:PRINT SPACE$(9);:LOCATE A+1,B+7:PRINT SPACE$(2);
- 3540 LOCATE A+2,B+7:PRINT SPACE$(2);:LOCATE A+3,B+7:PRINT SPACE$(2);
- 3550 LOCATE A+4,B+0:PRINT SPACE$(9);:LOCATE A+5,B+0:PRINT SPACE$(2);
- 3560 LOCATE A+6,B+0:PRINT SPACE$(2);:LOCATE A+7,B+0:PRINT SPACE$(2);
- 3570 LOCATE A+8,B+0:PRINT SPACE$(9);:RETURN
- 3580 RETURN
- 3590 ' 3
- 3600 LOCATE A+0,B+0:PRINT SPACE$(9);:LOCATE A+1,B+7:PRINT SPACE$(2);
- 3610 LOCATE A+2,B+7:PRINT SPACE$(2);:LOCATE A+3,B+7:PRINT SPACE$(2);
- 3620 LOCATE A+4,B+0:PRINT SPACE$(9);:LOCATE A+5,B+7:PRINT SPACE$(2);
- 3630 LOCATE A+6,B+7:PRINT SPACE$(2);:LOCATE A+7,B+7:PRINT SPACE$(2);
- 3640 LOCATE A+8,B+0:PRINT SPACE$(9);:RETURN
- 3650 ' 4
- 3660 LOCATE A+0,B+0:PRINT SPACE$(2);:LOCATE A+0,B+7:PRINT SPACE$(2);
- 3670 LOCATE A+1,B+0:PRINT SPACE$(2);:LOCATE A+1,B+7:PRINT SPACE$(2);
- 3680 LOCATE A+2,B+0:PRINT SPACE$(2);:LOCATE A+2,B+7:PRINT SPACE$(2);
- 3690 LOCATE A+3,B+0:PRINT SPACE$(2);:LOCATE A+3,B+7:PRINT SPACE$(2);
- 3700 LOCATE A+4,B+0:PRINT SPACE$(9);:LOCATE A+5,B+7:PRINT SPACE$(2);
- 3710 LOCATE A+6,B+7:PRINT SPACE$(2);:LOCATE A+7,B+7:PRINT SPACE$(2);
- 3720 LOCATE A+8,B+7:PRINT SPACE$(2);:RETURN
- 3730 ' 5
- 3740 LOCATE A+0,B+0:PRINT SPACE$(9);:LOCATE A+1,B+0:PRINT SPACE$(2);
- 3750 LOCATE A+2,B+0:PRINT SPACE$(2);:LOCATE A+3,B+0:PRINT SPACE$(2);
- 3760 LOCATE A+4,B+0:PRINT SPACE$(9);:LOCATE A+5,B+7:PRINT SPACE$(2);
- 3770 LOCATE A+6,B+7:PRINT SPACE$(2);:LOCATE A+7,B+7:PRINT SPACE$(2);
- 3780 LOCATE A+8,B+0:PRINT SPACE$(9);:RETURN
- 3790 ' 6
- 3800 LOCATE A+0,B+0:PRINT SPACE$(9);:LOCATE A+1,B+0:PRINT SPACE$(2);
- 3810 LOCATE A+2,B+0:PRINT SPACE$(2);:LOCATE A+3,B+0:PRINT SPACE$(2);
- 3820 LOCATE A+4,B+0:PRINT SPACE$(9);:LOCATE A+5,B+0:PRINT SPACE$(2);
- 3830 LOCATE A+5,B+7:PRINT SPACE$(2);:LOCATE A+6,B+0:PRINT SPACE$(2);
- 3840 LOCATE A+6,B+7:PRINT SPACE$(2);:LOCATE A+7,B+0:PRINT SPACE$(2);
- 3850 LOCATE A+7,B+7:PRINT SPACE$(2);:LOCATE A+8,B+0:PRINT SPACE$(9);:RETURN
- 3860 ' 7
- 3870 LOCATE A+0,B+0:PRINT SPACE$(9)PRINT:LOCATE A+1,B+7:PRINT SPACE$(2);
- 3880 LOCATE A+2,B+7:PRINT SPACE$(2);:LOCATE A+3,B+7:PRINT SPACE$(2);
- 3890 LOCATE A+4,B+7:PRINT SPACE$(2);:LOCATE A+5,B/7:PRINT SPACE$(2);
- 3900 LOCATE A+6,B+7:PRINT SPACE$(2);:LOCATE A+7,B+7:PRINT SPACE$(2);
- 3910 LOCATE A+8,B+7:PRINT SPACE$(2);:RETURN
- 3920 ' 8
- 3930 LOCATE A+0,B+0:PRINT SPACE$(9);:LOCATE A+1,B+0:PRINT SPACE$(2);
- 3940 LOCATE A+1,B+7:PRINT SPACE$(2);:LOCATE A+2,B+0:PRINT SPACE$(2);
- 3950 LOCATE A+2,B+7:PRINT SPACE$(2);:LOCATE A+3,B+0:PRINT SPACE$(2);
- 3960 LOCATE A+3,B+7:PRINT SPACE$(2);:LOCATE A+4,B+0:PRINT SPACE$(9);
- 3970 LOCATE A+5,B+0:PRINT SPACE$(2);:LOCATE A+5,B+7:PRINT SPACE$(2);
- 3980 LOCATE A+6,B+0:PRINT SPACE$(2);:LOCATE A+6,B+7:PRINT SPACE$(2);
- 3990 LOCATE A+7,B+0:PRINT SPACE$(2);:LOCATE A+7,B+7:PRINT SPACE$(2);
- 4000 LOCATE A+8,B+0:PRINT SPACE$(9);:RETURN
- 4010 ' 9
- 4020 LOCATE A+0,B+0:PRINT SPACE$(9);:LOCATE A+1,B+0:PRINT SPACE$(2);
- 4030 LOCATE A+1,B+7:PRINT SPACE$(2);:LOCATE A+2,B+0:PRINT SPACE$(2);
- 4040 LOCATE A+2,B+7:PRINT SPACE$(2);:LOCATE A+3,B+0:PRINT SPACE$(2);
- 4050 LOCATE A+3,B+7:PRINT SPACE$(2);:LOCATE A+4,B+0:PRINT SPACE$(9);
- 4060 LOCATE A+5,B+7:PRINT SPACE$(2);:LOCATE A+6,B+7:PRINT SPACE$(2);
- 4070 LOCATE A+7,B+7:PRINT SPACE$(2);:LOCATE A+8,B+0:PRINT SPACE$(9);:RETURN
- 4080 ' 0
- 4090 LOCATE A+0,B+0:PRINT SPACE$(9);:LOCATE A+1,B+0:PRINT SPACE$(2);
- 4100 LOCATE A+1,B+7:PRINT SPACE$(2);:LOCATE A+2,B+0:PRINT SPACE$(2);
- 4110 LOCATE A+2,B+7:PRINT SPACE$(2);:LOCATE A+3,B+0:PRINT SPACE$(2);
- 4120 LOCATE A+3,B+7:PRINT SPACE$(2);:LOCATE A+4,B+0:PRINT SPACE$(2);
- 4130 LOCATE A+4,B+7:PRINT SPACE$(2);:LOCATE A+4,B+4:PRINT SPACE$(1);
- 4140 LOCATE A+5,B+0:PRINT SPACE$(2);:LOCATE A+5,B+7:PRINT SPACE$(2);
- 4150 LOCATE A+6,B+0:PRINT SPACE$(2);:LOCATE A+6,B+7:PRINT SPACE$(2);
- 4160 LOCATE A+7,B+0:PRINT SPACE$(2);:LOCATE A+7,B+7:PRINT SPACE$(2);
- 4170 LOCATE A+8,B+0:PRINT SPACE$(9);:RETURN
- 4180 ' CLEAR
- 4190 COLOR 7,0:LOCATE A+8,B+0:PRINT SPACE$(9);:LOCATE A+7,B+0:PRINT SPACE$(9);
- 4200 LOCATE A+6,B+0:PRINT SPACE$(9);:LOCATE A+5,B+0:PRINT SPACE$(9);
- 4210 LOCATE A+4,B+0:PRINT SPACE$(9);:LOCATE A+3,B+0:PRINT SPACE$(9);
- 4220 LOCATE A+2,B+0:PRINT SPACE$(9);:LOCATE A+1,B+0:PRINT SPACE$(9);
- 4230 LOCATE A+0,B+0:PRINT SPACE$(9);:COLOR 0,7:RETURN
- 4240 ' -----------------------------------------------------------------------
- 4250 ' 15 MINUTE CHIME SUBROUTINE
- 4260 ' -----------------------------------------------------------------------
- 4270 '
- 4280 SOUND 1000,15:SOUND 32000,1:SOUND 800,15:SOUND 32000,1
- 4290 SOUND 900,15:SOUND 32000,1:SOUND 600,15:SOUND 32000,1:RETURN
- 4300 ' -----------------------------------------------------------------------
- 4310 ' 30 MINUTE CHIME SUBROUTINE
- 4320 ' -----------------------------------------------------------------------
- 4330 '
- 4340 SOUND 600,15:SOUND 32000,1:SOUND 900,15:SOUND 32000,1:SOUND 1000,15
- 4350 SOUND 32000,1:SOUND 800,15:SOUND 32000,5:SOUND 1000,15:SOUND 32000,1
- 4360 SOUND 900,15:SOUND 32000,1:SOUND 800,15:SOUND 32000,1:SOUND 600,15:RETURN
- 4370 ' -----------------------------------------------------------------------
- 4380 ' 45 MINUTE CHIME SUBROUTINE
- 4390 ' -----------------------------------------------------------------------
- 4400 '
- 4410 SOUND 600,15:SOUND 32000,1:SOUND 900,15:SOUND 32000,1:SOUND 1000,15
- 4420 SOUND 32000,1:SOUND 800,15:SOUND 32000,5:SOUND 1000,15:SOUND 32000,1
- 4430 SOUND 800,15:SOUND 32000,1:SOUND 900,15:SOUND 32000,1:SOUND 600,15
- 4440 SOUND 32000,5:SOUND 600,15:SOUND 32000,1:SOUND 900,15:SOUND 32000,1
- 4450 SOUND 1000,15:SOUND 32000,1:SOUND 800,15:RETURN
- 4460 ' -----------------------------------------------------------------------
- 4470 ' ON HOUR CHIME SUBROUTINE
- 4480 ' -----------------------------------------------------------------------
- 4490 '
- 4500 SOUND 1000,15:SOUND 32000,1:SOUND 800,15:SOUND 32000,1:SOUND 900,15
- 4510 SOUND 32000,1:SOUND 600,15:SOUND 32000,5:SOUND 600,15:SOUND 32000,1
- 4520 SOUND 900,15:SOUND 32000,1:SOUND 1000,15:SOUND 32000,1:SOUND 800,15
- 4530 SOUND 32000,5:SOUND 1000,15:SOUND 32000,1:SOUND 900,15:SOUND 32000,1
- 4540 SOUND 800,15:SOUND 32000,1:SOUND 600,15:SOUND 32000,5:SOUND 600,15
- 4550 SOUND 32000,1:SOUND 900,15:SOUND 32000,1:SOUND 1000,15:SOUND 32000,1
- 4560 SOUND 800,15:SOUND 32000,20
- 4570 '
- 4580 FOR I=1 TO TL:SOUND 400,15:SOUND 32000,15:NEXT:RETURN
- 4590 ' -----------------------------------------------------------------------
- 4600 ' SET DATE & TIME SUBROUTINE
- 4610 ' -----------------------------------------------------------------------
- 4620 '
- 4630 COLOR 7,0:CLS
- 4640 LOCATE 2,20:COLOR 0,7:PRINT" S E T D A T E T I M E "
- 4650 LOCATE 5,36:COLOR 7,0:PRINT"CURRENT DATE = ";DATE$
- 4660 LOCATE 7,20:INPUT"ENTER NEW DATE - ELSE ENTER--> ",IN$
- 4670 IF IN$="" THEN 4680 ELSE DATE$=IN$
- 4680 LOCATE 5,36:COLOR 0,7:PRINT"CURRENT DATE = ";DATE$
- 4690 LOCATE 10,36:COLOR 7,0:PRINT"CURRENT TIME = ";TIME$
- 4700 LOCATE 12,20:INPUT"ENTER NEW TIME - ELSE ENTER--> ",IN$
- 4710 IF IN$="" THEN 4720 ELSE TIME$=IN$
- 4720 LOCATE 10,36:COLOR 0,7:PRINT"CURRENT TIME = ";TIME$
- 4730 LOCATE 15,20:COLOR 7,0:PRINT"IS DATE AND TIME CORRECT ? (Y or N)"
- 4740 RESP$=INKEY$:IF RESP$="" THEN 4740
- 4750 IF RESP$="Y" THEN 4760 ELSE 4620
- 4760 D1SAVE=99:D2SAVE=99:D3SAVE=99:D4SAVE=99:TLSAVE=99:TR1SAVE=99:TR2SAVE=99
- 4770 GOTO 1330
- 4780 ' -----------------------------------------------------------------------
- 4790 ' SET ALARM SUBROUTINE
- 4800 ' -----------------------------------------------------------------------
- 4810 '
- 4820 COLOR 7,0:CLS
- 4830 LOCATE 2,20:COLOR 0,7:PRINT" S E T A L A R M T I M E S "
- 4840 LOCATE 4,20:COLOR 7,0:PRINT"CURRENT DATE = ";DATE$
- 4850 LOCATE 5,20:PRINT"CURRENT TIME = ";TIME$
- 4860 LOCATE 7,10:PRINT"USE 24 HOUR CLOCK TIMES"
- 4870 LOCATE 9,15:COLOR 1,0:PRINT"TIMES"
- 4880 LOCATE 9,28:PRINT"ALARM DESCRIPTIONS"
- 4890 '
- 4900 FOR I=11 TO 16:LOCATE I,15:COLOR 7,0:PRINT SPACE$(64);:NEXT
- 4910 LOCATE 11,15:COLOR 1,0:PRINT ALARM$(1)
- 4920 LOCATE 11,28:PRINT ALDESC$(1)
- 4930 LOCATE 12,15:PRINT ALARM$(2)
- 4940 LOCATE 12,28:PRINT ALDESC$(2)
- 4950 LOCATE 13,15:PRINT ALARM$(3)
- 4960 LOCATE 13,28:PRINT ALDESC$(3)
- 4970 LOCATE 14,15:PRINT ALARM$(4)
- 4980 LOCATE 14,28:PRINT ALDESC$(4)
- 4990 LOCATE 15,15:PRINT ALARM$(5)
- 5000 LOCATE 15,28:PRINT ALDESC$(5)
- 5010 LOCATE 16,15:PRINT ALARM$(6)
- 5020 LOCATE 16,28:PRINT ALDESC$(6)
- 5030 LOCATE 7,40:COLOR 7,0:PRINT"YOU CAN SET UP TO 6 ALARM TIMES"
- 5040 LOCATE 11,15:LINE INPUT"",IN$
- 5050 IF IN$="" THEN 5060 ELSE ALARM$(1)=IN$
- 5060 LOCATE 11,15:PRINT SPACE$(10)
- 5070 LOCATE 11,15:PRINT ALARM$(1)
- 5080 LOCATE 11,28:INPUT"",IN$
- 5090 IF IN$="" THEN 5100 ELSE ALDESC$(1)=IN$
- 5100 LOCATE 11,28:PRINT SPACE$(50)
- 5110 LOCATE 11,28:PRINT ALDESC$(1)
- 5120 LOCATE 12,15:LINE INPUT"",IN$
- 5130 IF IN$="" THEN 5140 ELSE ALARM$(2)=IN$
- 5140 LOCATE 12,15:PRINT SPACE$(10)
- 5150 LOCATE 12,15:PRINT ALARM$(2)
- 5160 LOCATE 12,28:INPUT"",IN$
- 5170 IF IN$="" THEN 5180 ELSE ALDESC$(2)=IN$
- 5180 LOCATE 12,28:PRINT SPACE$(50)
- 5190 LOCATE 12,28:PRINT ALDESC$(2)
- 5200 LOCATE 13,15:LINE INPUT"",IN$
- 5210 IF IN$="" THEN 5220 ELSE ALARM$(3)=IN$
- 5220 LOCATE 13,15:PRINT SPACE$(10)
- 5230 LOCATE 13,15:PRINT ALARM$(3)
- 5240 LOCATE 13,28:INPUT"",IN$
- 5250 IF IN$="" THEN 5260 ELSE ALDESC$(3)=IN$
- 5260 LOCATE 13,28:PRINT SPACE$(50)
- 5270 LOCATE 13,28:PRINT ALDESC$(3)
- 5280 LOCATE 14,15:LINE INPUT"",IN$
- 5290 IF IN$="" THEN 5300 ELSE ALARM$(4)=IN$
- 5300 LOCATE 14,15:PRINT SPACE$(10)
- 5310 LOCATE 14,15:PRINT ALARM$(4)
- 5320 LOCATE 14,28:INPUT"",IN$
- 5330 IF IN$="" THEN 5340 ELSE ALDESC$(4)=IN$
- 5340 LOCATE 14,28:PRINT SPACE$(50)
- 5350 LOCATE 14,28:PRINT ALDESC$(4)
- 5360 LOCATE 15,15:LINE INPUT"",IN$
- 5370 IF IN$="" THEN 5380 ELSE ALARM$(5)=IN$
- 5380 LOCATE 15,15:PRINT SPACE$(10)
- 5390 LOCATE 15,15:PRINT ALARM$(5)
- 5400 LOCATE 15,28:INPUT"",IN$
- 5410 IF IN$="" THEN 5420 ELSE ALDESC$(5)=IN$
- 5420 LOCATE 15,28:PRINT SPACE$(50)
- 5430 LOCATE 15,28:PRINT ALDESC$(5)
- 5440 LOCATE 16,15:LINE INPUT"",IN$
- 5450 IF IN$="" THEN 5460 ELSE ALARM$(6)=IN$
- 5460 LOCATE 16,15:PRINT SPACE$(10)
- 5470 LOCATE 16,15:PRINT ALARM$(6)
- 5480 LOCATE 16,28:INPUT"",IN$
- 5490 IF IN$="" THEN 5500 ELSE ALDESC$(6)=IN$
- 5500 LOCATE 16,28:PRINT SPACE$(50)
- 5510 LOCATE 16,28:PRINT ALDESC$(6)
- 5520 LOCATE 19,20:PRINT"ARE ALL ENTRIES CORRECT ? (Y or N)"
- 5530 RESP$=INKEY$:IF RESP$="" THEN 5530
- 5540 LOCATE 19,20:PRINT SPACE$(40)
- 5550 IF RESP$="Y" THEN 5560 ELSE 4890
- 5560 D1SAVE=99:D2SAVE=99:D3SAVE=99:D4SAVE=99:TLSAVE=99:TR1SAVE=99:TR2SAVE=99
- 5570 GOTO 1330
- 5580 ' -----------------------------------------------------------------------
- 5590 ' DISPLAY ALARM ROUTINE
- 5600 ' -----------------------------------------------------------------------
- 5610 '
- 5620 COLOR 7,0:CLS
- 5630 LOCATE 2,15:COLOR 0,7:PRINT" A L A R M "
- 5640 LOCATE 10,15:COLOR 7,0:PRINT ALDESC$(I);
- 5650 LOCATE 15,15:COLOR 23,0:PRINT"Press Any Key To Reset Alarm";
- 5660 '
- 5670 SOUND 1000,5:SOUND 32000,5
- 5680 RESP$=INKEY$:IF RESP$="" THEN 5660
- 5690 D1SAVE=99:D2SAVE=99:D3SAVE=99:D4SAVE=99:TLSAVE=99:TR1SAVE=99:TR2SAVE=99
- 5700 ALARM$(I)=" : ":ALDESC$(I)=STRING$(50,32)
- 5710 GOTO 1330
- 5720 ' -----------------------------------------------------------------------
- 5730 ' INSTRUCTIONS ROUTINE
- 5740 ' -----------------------------------------------------------------------
- 5750 '
- 5760 COLOR 7,0:CLS
- 5770 LOCATE 1,10:COLOR 0,7:PRINT" CLOCK FUNCTION CONTROLS "
- 5780 LOCATE 4,10:COLOR 7,0:PRINT" B = TIME CHANGE BEEP SET ON/OFF"
- 5790 LOCATE 6,10:PRINT" C = CHIMES SET ON/OFF"
- 5800 LOCATE 8,10:PRINT" E = ELAPSED TIME SET ON/OFF"
- 5810 LOCATE 10,10:PRINT" M = CHANGE FROM 12 TO 24 HOUR MODE"
- 5820 LOCATE 1,55:COLOR 0,7:PRINT" CURRENT CONDITION ":COLOR 7,0
- 5830 LOCATE 4,60:IF BP1$="1" THEN PRINT" ON" ELSE PRINT"OFF"
- 5840 LOCATE 6,60:IF CH1$="1" THEN PRINT" ON" ELSE PRINT"OFF"
- 5850 LOCATE 8,60:IF ET1$="1" THEN PRINT" ON" ELSE PRINT"OFF"
- 5860 LOCATE 10,60:IF SW1$="1" THEN PRINT" 12" ELSE PRINT" 24"
- 5870 LOCATE 12,10:PRINT" A = SET ALARM TIMES AND DESCRIPTIONS"
- 5880 LOCATE 14,10:PRINT" R = RESET ELAPSED TIME"
- 5890 LOCATE 16,10:PRINT" S = SET DATE AND TIME"
- 5900 LOCATE 18,10:PRINT" ? = DISPLAY INSTRUCTIONS"
- 5910 LOCATE 20,10:PRINT"ESC = EXIT - RETURN TO SYSTEM MODE"
- 5920 LOCATE 24,20:COLOR 23,0:PRINT"Press Any Key To Continue";
- 5930 RESP$=INKEY$:IF RESP$="" THEN 5930
- 5940 COLOR 7,0:CLS
- 5950 D1SAVE=99:D2SAVE=99:D3SAVE=99:D4SAVE=99:TLSAVE=99:TR1SAVE=99:TR2SAVE=99
- 5960 GOTO 1330
- 5970 ' -----------------------------------------------------------------------
- 5980 ' EXIT ROUTINE
- 5990 ' -----------------------------------------------------------------------
- 6000 COLOR 7,0:CLS:END
-